1. Field of the Invention
This invention relates to digital communication networks. More particularly, this invention relates to testing and discovery of configuration faults in communication networks.
2. Description of the Related Art
The meanings of some acronyms and terminology used herein are given in Table 1.
TABLE 1ASPApplication Service ProviderATFActive Testing FrameworkCQCustom Queueing. A queueing discipline.DHCPDynamic Host Configuration ProtocolDiffServIETF Differentiated ServicesDMZDemilitarized zone. A DMZ network is a second networkbehind a firewall.DNSDomain Name SystemDSCPDifferentiated Services Code Point. Classificationof packets into traffic classes that receivespecified behavior in a switch or router.DSLDigital Subscriber LineFIFOFirst-In, First-Out. A queueing discipline.GPSGlobal Performance ServicesICMPInternet Control Message ProtocolIETFInternet Engineering Task ForceIPInternet ProtocolISDNIntegrated Services Digital NetworkISPInternet Service ProviderLLQLow Latency QueueingMOSMean Opinion ScoreMSPManagement Service ProviderNAPNetwork Access PointNICNetwork Interface CardPBXPrivate Branch eXchangePcapPacket CaptureQoSQuality of ServiceRMONRemote MonitoringRTPRealtime Protocol. An IETF standard designed forthe end-to-end transport of multimedia data.SNMPSimplified Network Management ProtocolTATraffic AgentTCPTransmission Control ProtocolTFTPTrivial File Transfer ProtocolTTLTime To LiveUDPUser Datagram ProtocolVcoIPVideo-conference-over-Internet ProtocolVoIPVoice-over-Internet ProtocolWANWide Area NetworkWFQWeighted Fair Queueing. A queueing discipline.
Deployment of a Voice-over-IP (VOIP) telephony system on an IP network can enhance telephone service at a fraction of the cost of a traditional PBX. Before reaping the benefits of VOIP and other emerging realtime applications such as Video-Conference-over-IP (VCoIP), it is necessary to ascertain that the network has sufficient bandwidth to deliver high quality realtime traffic without adversely affecting other data services. In particular, it is desirable to know how many voice calls a network can safely support.
Only a small minority of present-day corporate networks are actually capable of handling realtime traffic such as VoIP without modification. Moreover, converged IP networks are likely to be inadequate whenever a new realtime service is added. This makes pre-deployment testing of the network an absolute necessity.
Assuring continued success of VoIP and other realtime services requires that network testing be repeated in a continuous systematic manner. It is important to assess the impact of the various types of changes in the network traffic loads, topology and functions that inevitably occur over time. The addition of new applications, the extension of the network to new locations, and the inexorable increase in network utilization can all potentially impact VOIP and other realtime applications quality.
A good network and an application monitoring program that operates repeatedly over the life cycle of a network provides diagnostics that are sufficiently granular to pinpoint the exact nature and location of problems that can jeopardize data transport quality on the network. For example, in the converged network environment the network gear needs to be configured to a proper Quality of Service (QoS) setting that allocates the network resources among multiple applications. A QoS setting that allocates too few resources for Realtime Protocol (RTP) packets will undermine VOIP communications, even when the overall VoIP traffic load on the network is adequate. Overly simplistic network performance reports would not reveal the root cause of such a problem. A competent testing program is capable of detecting and identifying such problems, determining if corrective actions have achieved a solution, and identifying any new problems or undesirable side effects that may have been created.
The need for iterative testing is further emphasized by the reality that first attempts to solve many network problems are typically only partially effective. This sets up a requirement for a further round of testing in order to evaluate incremental attempts at solution. A tool used for this kind of iterative, analytic testing must clearly be capable of providing granular diagnostics about specific network links or a set of targeted end-to-end realtime sessions.
Another aspect of network testing involves assurance that business applications and services other than VOIP service remain unimpaired as the network is optimized for good voice quality. Various applications running on an IP network all impact each other. Thus, effective QoS testing must take into account the full range of services operating across the enterprise.
Network monitoring tools have been attempted to be used for evaluation of VoIP quality. However, such tools are directed to describing traffic conditions on the network generally. Thus, they lack the facility to diagnose incipient realtime service degradation and the underlying causes of that degradation.
Various methods are known in the art for testing network performance and localizing problems in the network. For example, U.S. Pat. No. 5,812,529, whose disclosure is incorporated herein by reference, describes a system and method for acquiring network performance data, built around a “mission server”, which interfaces with clients to receive requests for missions. A typical mission includes operations such as transmission and reception of data packets among devices connected to segments of the network. The mission is performed or supported by “sentries,” typically software agents running on stand-alone network devices or endpoints. The sentries carry out mission operations in response to commands from the mission server, and report to the mission server on the mission results.
U.S. Pat. Nos. 5,838,919 and 5,881,237, whose disclosures are incorporated herein by reference, describe methods, systems and computer program products for testing of network performance using test scenarios that simulate actual communications traffic between network endpoints. Specific test protocols are assigned to endpoint nodes on the network. Typically, the nodes are paired, and one of the nodes in the pair communicates the protocol to the other, associated node. A console node sets up the test protocols, initiates their execution and receives data on the test performance from the endpoint nodes.
U.S. Pat. No. 6,269,330, whose disclosure is incorporated herein by reference, describes a method and apparatus for testing a network having a plurality of nodes. The method includes sending commands to one or more traffic agents connected to the network and to at least one network management agent coupled to a respective node of the network, transmitting data from at least one of the traffic agents over the network responsive to the commands, determining network information at the at least one network management agent responsive to the commands and to transmission of the data through the respective node, and receiving and evaluating the network information to assess a state of the network.
Aspects of the methods described in U.S. Pat. No. 6,269,330 are embodied in an Active Testing Framework (ATF) known as NetAlly®, available from Viola Networks, of Yokneam, Israel. NetAlly integrates the following components:
Test Center—orchestrates all NetAlly components to render network tests at scheduled or event-triggered times, or interactively. In addition, it generates reports and triggers alerts when faults are detected.
Test Directory—contains a set of predefined tests that can be parameterized manually or automatically.
Traffic Agents—located at network junctions and end-points. Traffic agents are controlled by the test center and can inject traffic that follows specific patterns into the network, simultaneously intercept traffic from the network and other traffic agents, and then report to the test center. Traffic agents can be installed as software agents on workstations or servers. They can also take the form of dedicated hardware probes, or can be built into network communication equipment.
NetAlly includes unique Web browser-based traffic agents, called NetRegard™ agents. Identical in functionality to NetAlly's standard traffic agent, these virtual devices can be deployed by simply clicking a link in a standard Web browser. Thus, true end-to-end network path testing can be quickly and easily accomplished to any end user desktop on the network without any software or hardware installation whatsoever. NetRegard agents also make it possible to perform ad hoc testing anywhere on the network without the need to send technicians to remote locations; any end user can be asked to enter a URL in his browser and may leave the browser open for as long as testing needs to continue.
NetAlly leverages existing network management technology, including SNMP, RMON and telnet-based device access, to obtain monitored network data and for configuration of active testing.
NetAlly includes a server-based software component called NetAlly Proxy that is able to traverse firewalls. While maintaining complete network security, NetAlly Proxy allows the NetAlly test center to communicate with traffic agents, Web-based NetRegard agents, and SNMP-equipped devices located beyond firewalls, whether within a DMZ, an extranet, or the global Internet.
Traffic agents are disclosed in further detail in commonly assigned U.S. Patent Application Publication No. 20020133575, the disclosure of which is herein incorporated by reference.
The ATF test directory includes tests that can be used for various forms of network testing and diagnosis. Some of these tests emulate different types and classes of traffic between users or between users and application servers. Such tests measure the network performance in terms of loss, jitter, throughput, round trip delay, out-of-order packets or other factors. Some tests use standard network management interfaces, such as RMON, to read applicable attributes from network equipment and to conduct realtime correlation between the equipment readings and NetAlly test traffic. Other tests check the availability and performance of higher level network services and protocols, such as electronic mail, Web, DNS, FTP and DHCP. The combination of emulated traffic tests and tests of services can be used to identify whether a problem is due to a network fault or to a server.